<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<!--xtiger_start-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cn" lang="cn">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <meta http-equiv="x-ua-compatible" content="ie=7"/>
    <title>XNet framework 用户指南 - XNet framework中文手册|用户手册|用户指南|Wiki文档</title>
    <link rel="stylesheet" type="text/css" media="all" href="http://www.openxtiger.org/xtiger_guide/xtigerguide.css"/>
    <script type="text/javascript" src="http://www.openxtiger.org/xtiger_guide/js/nav.js"></script>
    <script type="text/javascript" src="http://www.openxtiger.org/xtiger_guide/js/prototype.lite.js"></script>
    <script type="text/javascript" src="http://www.openxtiger.org/xtiger_guide/js/moo.fx.js"></script>
    <script type="text/javascript" src="http://www.openxtiger.org/xtiger_guide/js/user_guide_menu.js"></script>

    <meta name="robots" content="all"/>
    <meta name="author" content="openxtiger xtiger"/>
    <meta name="description" content="XNet framework 中文手册, XNet framework 用户指南, XNet framework User Guide, Wiki 文档"/>
</head>
<body>
<!-- START NAVIGATION -->
<div id="nav">
    <div id="nav_inner">
        <script type="text/javascript">create_menu('http://www.openxtiger.org/xtiger_guide/');</script>
    </div>
</div>
<div id="nav2"><a href="javascript:void(0);" name="top" onclick="myHeight.toggle();"><img
        src="http://www.openxtiger.org/xtiger_guide/images/nav_toggle_darker.jpg" width="154" height="43" border="0"
        title="切换目录" alt="切换目录"/></a></div>
<div id="masthead">

    <table cellpadding="0" cellspacing="0" border="0" style="width:100%">
        <tr>
            <td width="350"><h1>XNet framework 用户指南 版本 1.0.0</h1></td>
            <td>编辑文档、查看近期更改请 <a href="http://hi.microsoul.com/home/do.php?ac=36724f73d2021ed6fb93c71956743feb">登录</a> 或 <a
                    href="http://hi.microsoul.com/home/do.php?ac=f15686a09baf2e7ee241541f4678254c">注册</a> 　<a
                    href="http://hi.microsoul.com/home/do.php?ac=lostpasswd">找回密码</a></td>
            <td id="breadcrumb_right"><a href="http://www.openxtiger.org/xtiger_guide/toc.html">目录页</a></td>

        </tr>
    </table>
</div>
<!-- END NAVIGATION -->
<!-- START BREADCRUMB -->
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
    <tr>
        <td id="breadcrumb">
            <a href="http://www.openxtiger.org" target="_blank">开源小老虎</a>&nbsp;&#8250;&nbsp;XNet framework 用户指南
        </td>
        <td  class="searchbox">搜索用户指南</td>
        <td  class="searchbox1" width="340">
            <script type="text/javascript"><!--
              google_ad_client = "pub-9585817794275200";
              google_ad_format = "configurable_sdo";
              google_link_target = 2;
              google_color_bg = "ffffff";
              google_color_link = "000000";
              google_color_text = "000000";
              google_encoding = "UTF-8";
              google_ad_channel = "4156786271";
              google_box_len = 31;
              google_ad_height = 30;
              google_ad_width = 330;
//-->
            </script>

            <script type="text/javascript"
              src="http://pagead2.googlesyndication.com/pagead/show_sdo.js">
            </script>
        </td>
    </tr>
</table>
<!-- END BREADCRUMB -->
<div style="clear:both;text-align:right;padding: 6px 40px 0 0;">
    <a href="http://www.openxtiger.org/xtiger_guide/index.html">查看原文</a>

</div>
<!--<br clear="all" />-->
<div class="center"><a href="http://www.openxtiger.org" target="_blank"><img src="http://hi.microsoul.com/images/logo.gif" height="65" width="135" border="0" alt="嗨！微企"/></a></div>
<!--xtiger_end-->

<!-- START CONTENT -->
<div id="content">
    <h1>XNet framework URL</h1>

    <p>默认情况下，XNet framework 中的 URL 被设计成对搜索引擎和人类友好。不同于使用标准&ldquo;查询字符串&rdquo;方法的是，XNet framework 使用<strong>命名空间</strong>和<strong>基于段</strong>的方法：</p>
    <code>example.com/<kbd>hi</kbd>/index.php/<var>news</var>/<dfn>article</dfn>/<samp>my_article</samp></code>

    <p class="important"><strong>注意：</strong>查询字符串形式的 URL 是可选的，分述如下。</p>

    <h2>URI 段</h2>

    <p>根据模型-视图-控制器模式，在此 URL 段一般以如下形式表示：</p>
    <code>example.com<kbd>/hi</kbd>/index.php/<var>action</var>/<dfn>method</dfn>/<samp>ID</samp></code>
    <ol>
        <li>第一段（<kbd>/hi</kbd>）表示命名空间<strong>Namespace</strong>。</li>
        <li>第二段（<var>action</var>）表示调用控制器<strong>Action</strong>。</li>
        <li>第三段（<dfn>method</dfn>）表示调用控制器中的<strong>Method</strong>。函数的格式为：包名_Action_Method</li>
        <li>第四（<samp>ID</samp>）及更多的段表示的是传递给控制器的参数，如 ID 或其他各种变量。</li>
    </ol>
    <p><a href="../libraries/uri.html">URI 类</a>和 <a href="../helpers/url_helper.html">URL 辅助函数</a>中的函数可以使你的 URI
        更简单的工作。另外，使用 <a href="routing.html">URI 路由</a>特性可以将你的 URL 重定向，以获得更大的灵活性。</p>

    <h2>添加 URL 后缀</h2>

    <p>通过设置 <kbd>$_XC['url_suffix']</kbd> 参数，你可以为 XNet framework 生成的 URL 添加一个指定的文件后缀。举例来说，如果 URL 是这样的：</p>
    <code>example.com/index.php/products/view/shoes</code>

    <p>你可以随意添加一个后缀，例如 <kbd>$_XC['url_suffix']='.html'</kbd>，使其显示为：</p>

    <code>example.com/index.php/products/view/shoes.html</code>

    <h2>截去URL中的命名空间前辍</h2>

    <p> XNet framework是通过配置文件获取Action，详细配置请查看<a href="setting.html">配置</a>章节 ，通过设置 <kbd>$_XC['namespace_prefix']</kbd> 参数，你可以为 XNet framework 截去URL中的命名空间前辍。举例来说，如果 URL 是这样的：</p>
    <code>example.com<kbd>/hi/bbs</kbd>/index.php/products/view/shoes</code>

    <p>而配置文件中的命名空间为<kbd>/bbs</kbd>,你可以设置，例如 <kbd>$_XC['namespace_prefix']='/hi'</kbd>，截去URL中的命名空间前辍</p>
    
    <h2>启用查询字符串</h2>

    <p>在一些情况下你需要在 URL 中使用查询字符串：</p>
    <code>index.php?c=products&amp;m=view&amp;id=345</code>

    <p>XNet framework 支持这个功能是可选的，可以设置如下参数：</p>

    <p><code>$_XC['enable_query_strings'] = FALSE;<br/>
        $_XC['action_trigger'] = 'c';<br/>
        $_XC['method_trigger'] = 'm';</code></p>

    <p>如果你将 enable_query_strings 更改为 TRUE ，那么这个功能就被激活了。此时，你就可以通过关键字来调用需要的控制器和方法了：</p>
    <code>index.php?c=action&amp;m=method</code>

    <p class="important"><strong>请注意：</strong>如果你使用查询字符串，那么就必须使用自己建立的 URL ，而且不能使用URL 辅助函数（或是其他生成 URL
        的辅助函数，例如表单辅助函数），因为这些都是根据分段 URL 设计的。</p>

    <p>&nbsp;</p>
    
</div>

<!-- END CONTENT -->
<div id="footer">
    <p>
        <a href="http://www.openxtiger.org/xtiger_guide">页首</a>
    </p>

    <p>XNet framework &nbsp;&middot;&nbsp; 版权所有 &#169; 2006-2009 &nbsp;&middot;&nbsp;
        <a href="http://openxtier.org/">openXtiger Org.</a></p>

</div>
<script type="text/javascript">
    var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
    document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
    try {
        var pageTracker = _gat._getTracker("UA-8286166-6");
        pageTracker._trackPageview();
    } catch(err) {
    }</script>
</body>
</html>